list_base_class->list_item_name = "child";
list_base_class->list_item_role = GTK_ACCESSIBLE_ROLE_GRID_CELL;
- list_base_class->list_item_size = sizeof (GtkListTile);
- list_base_class->list_item_augment_size = sizeof (GtkListTileAugment);
- list_base_class->list_item_augment_func = gtk_list_item_manager_augment_node;
list_base_class->get_allocation_along = gtk_grid_view_get_allocation_along;
list_base_class->get_allocation_across = gtk_grid_view_get_allocation_across;
list_base_class->get_items_in_rect = gtk_grid_view_get_items_in_rect;
GtkListBasePrivate *priv = gtk_list_base_get_instance_private (self);
GtkEventController *controller;
- priv->item_manager = gtk_list_item_manager_new_for_size (GTK_WIDGET (self),
- g_class->list_item_name,
- g_class->list_item_role,
- g_class->list_item_size,
- g_class->list_item_augment_size,
- g_class->list_item_augment_func);
+ priv->item_manager = gtk_list_item_manager_new (GTK_WIDGET (self),
+ g_class->list_item_name,
+ g_class->list_item_role);
priv->anchor = gtk_list_item_tracker_new (priv->item_manager);
priv->anchor_side_along = GTK_PACK_START;
priv->anchor_side_across = GTK_PACK_START;
const char * list_item_name;
GtkAccessibleRole list_item_role;
- gsize list_item_size;
- gsize list_item_augment_size;
- GtkRbTreeAugmentFunc list_item_augment_func;
void (* adjustment_value_changed) (GtkListBase *self,
GtkOrientation orientation);
gdk_rectangle_union (self, area, self);
}
-void
+static void
gtk_list_item_manager_augment_node (GtkRbTree *tree,
gpointer node_augment,
gpointer node,
}
GtkListItemManager *
-gtk_list_item_manager_new_for_size (GtkWidget *widget,
- const char *item_css_name,
- GtkAccessibleRole item_role,
- gsize element_size,
- gsize augment_size,
- GtkRbTreeAugmentFunc augment_func)
+gtk_list_item_manager_new (GtkWidget *widget,
+ const char *item_css_name,
+ GtkAccessibleRole item_role)
{
GtkListItemManager *self;
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- g_return_val_if_fail (element_size >= sizeof (GtkListTile), NULL);
- g_return_val_if_fail (augment_size >= sizeof (GtkListTileAugment), NULL);
self = g_object_new (GTK_TYPE_LIST_ITEM_MANAGER, NULL);
self->item_css_name = g_intern_string (item_css_name);
self->item_role = item_role;
- self->items = gtk_rb_tree_new_for_size (element_size,
- augment_size,
- augment_func,
+ self->items = gtk_rb_tree_new_for_size (sizeof (GtkListTile),
+ sizeof (GtkListTileAugment),
+ gtk_list_item_manager_augment_node,
gtk_list_item_manager_clear_node,
NULL);
GType gtk_list_item_manager_get_type (void) G_GNUC_CONST;
-GtkListItemManager * gtk_list_item_manager_new_for_size (GtkWidget *widget,
+GtkListItemManager * gtk_list_item_manager_new (GtkWidget *widget,
const char *item_css_name,
- GtkAccessibleRole item_role,
- gsize element_size,
- gsize augment_size,
- GtkRbTreeAugmentFunc augment_func);
-#define gtk_list_item_manager_new(widget, item_css_name, type, augment_type, augment_func) \
- gtk_list_item_manager_new_for_size (widget, item_css_name, sizeof (type), sizeof (augment_type), (augment_func))
-
-void gtk_list_item_manager_augment_node (GtkRbTree *tree,
- gpointer node_augment,
- gpointer node,
- gpointer left,
- gpointer right);
+ GtkAccessibleRole item_role);
+
void gtk_list_item_manager_get_tile_bounds (GtkListItemManager *self,
GdkRectangle *out_bounds);
gpointer gtk_list_item_manager_get_root (GtkListItemManager *self);
list_base_class->list_item_name = "row";
list_base_class->list_item_role = GTK_ACCESSIBLE_ROLE_LIST_ITEM;
- list_base_class->list_item_size = sizeof (GtkListTile);
- list_base_class->list_item_augment_size = sizeof (GtkListTileAugment);
- list_base_class->list_item_augment_func = gtk_list_item_manager_augment_node;
list_base_class->get_allocation_along = gtk_list_view_get_allocation_along;
list_base_class->get_allocation_across = gtk_list_view_get_allocation_across;
list_base_class->get_items_in_rect = gtk_list_view_get_items_in_rect;